// pages/login/index.js
const app = getApp();

Page({
  data: {
    targetUrl: '' // 存储目标页面
  },

  onLoad: function(options) {
    console.log('页面 onLoad, 当前登录状态:', app.globalData.isLoggedIn);
    
    // 获取目标页面参数
    if (options.target) {
      this.setData({
        targetUrl: decodeURIComponent(options.target)
      });
      console.log('目标页面:', this.data.targetUrl);
    }
  },

  /**
   * 处理登录点击
   */
  onLoginTap: function() {
    // 微信登录
    wx.login({
      success: (res) => {
        if (res.code) {
          this.mockLogin();
        } else {
          console.log('登录失败！' + res.errMsg);
          wx.showToast({
            title: '登录失败，请重试',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.log('登录失败', err);
        // 如果微信登录失败，使用模拟登录
        this.mockLogin();
      }
    });
  },

  /**
   * 模拟登录（兼容方案）
   */
  mockLogin: function() {
    wx.showLoading({
      title: '登录中...',
    });

    // 模拟登录过程
    setTimeout(() => {
      // 生成模拟用户数据
      const userData = {
        avatar: '/assets/img/profile/profile.png',
        nickname: '城旅达人',
        level: 15,
        points: 1280,
        gender: 1,
        region: ['广东省', '广州市'],
        birthday: '1995-08-20',
        bio: '热爱旅行和美食的探索者',
        joinTime: '2023-06-15',
        lastActive: '刚刚'
      };

      // 保存登录状态和用户信息
      wx.setStorageSync('token', 'mock_token_' + Date.now());
      wx.setStorageSync('userInfo', userData);

      // 更新全局状态
      if (app.globalData) {
        app.globalData.isLoggedIn = true;
        app.globalData.userInfo = userData;
      }

      this.setData({
        isLoggedIn: true,
        userInfo: userData
      });

      wx.hideLoading();
      wx.showToast({
        title: '登录成功',
        icon: 'success',
        duration: 1500
      });

      // 登录成功后跳转
      this.redirectAfterLogin();
    }, 1500);
  },

  /**
   * 登录成功后跳转
   */
  redirectAfterLogin: function() {
    const targetUrl = this.data.targetUrl || '/pages/profile/index';
    
    console.log('登录成功，跳转到:', targetUrl);
    
    // 延迟跳转，让用户看到成功提示
    setTimeout(() => {
      if (targetUrl.includes('/pages/profile/index')) {
        // 如果目标就是 profile，使用 switchTab（假设 profile 是 tabbar 页面）
        wx.switchTab({
          url: '/pages/profile/index',
          fail: (err) => {
            console.error('跳转失败:', err);
            wx.redirectTo({
              url: '/pages/profile/index'
            });
          }
        });
      } else {
        // 其他页面使用 redirectTo
        wx.redirectTo({
          url: targetUrl,
          fail: (err) => {
            console.error('跳转目标页面失败:', err);
            // 失败时跳转到 profile
            wx.switchTab({
              url: '/pages/profile/index'
            });
          }
        });
      }
    }, 1600); // 比 toast 时间长一点
  }
});